/*
 * create:2016年4月17日 下午1:53:31
 * author:wangds  
 */
package com.cxkj.shop.proc.order;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import org.apache.ibatis.session.SqlSessionFactory;

import com.cxkj.shop.model.order.Order;
import com.cxkj.shop.proc.DefaultSelectListMybatisProc;
import com.cxkj.shop.utils.OrderUtils;

import net.wangds.common.processor.AbstractInputOutputProcessor;

/**
 * .
 * @author wangds
 *
 */
public class SelOrderListProc extends AbstractInputOutputProcessor<String,Collection<Order>>{
  
  private DefaultSelectListMybatisProc<Map<String, Object>, ?> proc=new DefaultSelectListMybatisProc<>();
  private String openId;
  
  
  /**
   * The getter method of the property openId.
   * @author wangds 2016年4月17日 下午3:10:52.
   * @return the openId.
   */
  public String getOpenId() {
    return openId;
  }

  /**
   * The setter method of the property openId.
   * @param theopenId the openId to set
   * @author wangds 2016年4月17日 下午3:10:52.
   */
  public void setOpenId(String openId) {
    this.openId = openId;
  }

  /**
   * .
   * @author wangds 2016年4月17日 下午1:56:13.
   * @return
   * @see com.cxkj.shop.proc.AbstractWithResMybatisProc#getSqlId()
   */
  public String getSqlId() {
    return proc.getSqlId();
  }

  /**
   * .
   * @author wangds 2016年4月17日 下午1:56:13.
   * @param sqlId
   * @see com.cxkj.shop.proc.AbstractWithResMybatisProc#setSqlId(java.lang.String)
   */
  public void setSqlId(String sqlId) {
    proc.setSqlId(sqlId);
  }

  /**
   * .
   * @author wangds 2016年4月17日 下午1:56:13.
   * @return
   * @see com.cxkj.shop.proc.AbstractWithResMybatisProc#getSessionFac()
   */
  public SqlSessionFactory getSessionFac() {
    return proc.getSessionFac();
  }

  /**
   * .
   * @author wangds 2016年4月17日 下午1:56:13.
   * @param sessionFac
   * @see com.cxkj.shop.proc.AbstractWithResMybatisProc#setSessionFac(org.apache.ibatis.session.SqlSessionFactory)
   */
  public void setSessionFac(SqlSessionFactory sessionFac) {
    proc.setSessionFac(sessionFac);
  }

  /*
   * @see net.wangds.common.processor.AbstractInputOutputProcessor#process(java.lang.Object)
   * @author wangds 2016年4月17日 下午1:58:56.
   */
  @SuppressWarnings("unchecked")
  @Override
  protected Collection<Order> process(String openId) throws Exception {
    Collection<Order> res = null;
    Map<String,Object> param = new HashMap<String, Object>();
    param.put("openId", this.getOpenId());
    this.proc.setParameter(param);
    this.proc.process();
    Collection<Map<String,Object>> rcds = (Collection<Map<String, Object>>) this.proc.getResult();
    res = OrderUtils.transRecordMaps2Order(rcds);
    return res;
  }


  
}
